package com.imooc.service;

import com.imooc.pojo.ChatMsg;
import com.imooc.pojo.Users;
import com.imooc.pojo.vo.FriendRequestVo;
import com.imooc.pojo.vo.MyFriendsVO;
import com.qiniu.common.QiniuException;
import org.apache.commons.lang3.StringUtils;

import java.util.List;

public interface UserService {

    // 判断用户名是否存在
    public abstract boolean queryUsernameIsExist(String username);

    // 验证用户的密码是否正确
    public Users queryUserForLogin(String username , String pwd);

    // 用户注册
    public Users saveUser(Users users) throws QiniuException;

    // 用户更新头像数据
    public Users updateUserInfo(Users users);

    // 根据用户id 查询对应的数据
    public Users queryUserById(String id) ;

    // 搜索朋友的前置条件
    public Integer preconditionSearchFriends(String myUserId , String friendUsername);

    // 发送添加好友的请求
    public void sendFriendRequest(String myUserId, String friendUsername);

    // 根据接收信息的用户id,获取发送给它的好友请求的信息
    public List<FriendRequestVo> queryFriendRequestList(String acceptUserId);

    // 删除好友请求记录
    public void deleteFriendRequest(String sendUserId , String acceptUserId);

    // 添加好友请求的记录
    public void addFriendRequest(String sendUserId , String acceptUserId);

    // 查询好友列表
    public List<MyFriendsVO> queryMyFriend(String userId);

    // 保存聊天消息到数据库
    public String saveMsg(ChatMsg chatMsg);

    // 批量签收
    public void updateMsgSigned(List<String> msgIdList);

    //获取未签收的消息列表
    public List<ChatMsg> getUnReadMsgList(String acceptUserId);
}
